// 命名函数
function add(x, y) {
    return x + y;
}
// 匿名函数
var myAdd = function (x, y) {
    return x + y;
};
var myAdd2 = function (x, y) {
    return x + y;
};
function buildName(firstName, lastName) {
    if (firstName === void 0) { firstName = 'A'; }
    if (lastName) {
        return firstName + '-' + lastName;
    }
    else {
        return firstName;
    }
}
console.log(buildName('C', 'D'));
console.log(buildName('C'));
console.log(buildName());
function info(x) {
    var args = [];
    for (var _i = 1; _i < arguments.length; _i++) {
        args[_i - 1] = arguments[_i];
    }
    console.log(x, args);
}
info('abc', 'c', 'b', 'a');
// 定义函数实现
function add1(x, y) {
    // 在实现上我们要注意严格判断两个参数的类型是否相等，而不能简单的写一个 x + y
    if (typeof x === 'string' && typeof y === 'string') {
        return x + y;
    }
    else if (typeof x === 'number' && typeof y === 'number') {
        return x + y;
    }
}
console.log(add1(1, 2));
console.log(add1('a', 'b'));
// console.log(add(1, 'a')) // error
